Computing systems have become integrated into nearly every human activity. Everything from driving our cars to sharing photos with friends occurs with at least some assistance from computing systems. These computing systems, are controlled by vast amounts of computer instructions. As both the diversity of actions that can be performed by computing systems and the number of processing requests for each of these actions increase, there is an ever greater demand for processing power. For example, social networking sites have attracted billions of active users all sharing links, requesting pages, and sending messages. At any given time, millions of page requests can occur contemporaneously, e.g. when users visit various Web pages, e.g. “timelines” of their friends or other users.
Furthermore, for each action taken on a computing system, hundreds of functions may be called. Each function call can require a determination of whether the instructions for that function have already been loaded into active memory. When the functions are not in active memory, a comparatively slow process must be performed to retrieve them from storage. Due to the sheer volume of functions to be executed, especially in large distributed applications such as social networking sites, various latencies can be experienced due to the instruction retrieval process. These latencies can make the computing systems appear to be sluggish, and users may simply navigate to a different web site if they are frustrated by the slowness.